Esempio CNC 09: Uso della correzione della lunghezza dell'utensile
Vedere il progetto di esempio per questo CNC09_ToolLengthCorr.project
nella directory di installazione di CODESYS tra ..\CODESYS SoftMotion\Examples
.
Questo esempio mostra come utilizzare il SMC_ToolLengthCorr POU per compensare la lunghezza di un utensile.
Per ulteriori informazioni sull'argomento della correzione della lunghezza utensile, vedere: Pre-elaborazione
Applicazione
Per l'esempio, viene utilizzata una cinematica Gantry3 insieme a un asse di orientamento aggiunto (AxisA
) che può ruotare attorno all'asse Z. Un utensile con una lunghezza di 2 unità nella direzione Z è a sua volta attaccato all'asse di orientamento.
Dovrebbe essere eseguito un semplice programma CNC. Questo viene memorizzato nel progetto come esterno CNC.cnc
file e può essere aperto con un editor di testo. Nel programma CNC, la correzione della lunghezza utensile viene prima attivata tramite il codice G G43
. Il I
, J
, e K
i parametri corrispondono all'offset nelle direzioni X, Y e Z per questo. Successivamente, vengono percorsi tre punti nel piano XY. Durante il movimento verso l'ultimo punto, anche l'asse aggiuntivo A viene ruotato di 90 gradi.
N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2) N010 G01 X10 F10 E100 E-100 N020 G03 Y10 R5N030 G01 X0 A90
L'applicazione è composta da più parti. Nel CNC_PreparePath
programma, il programma CNC CNC.cnc
viene importato come file dal controller e preelaborato. Nel CNC
programma, gli azionamenti vengono prima accesi, come negli altri esempi. Quindi viene eseguita l'interpolazione del programma CNC precedentemente letto. In ogni ciclo, l'interpolatore emette una posizione impostata (piSetPosition
) e l'offset corrente dell'utensile (adToolLength
). Il SMC_ToolLengthCorr
POU richiede queste informazioni per compensare la lunghezza utensile specificata. La posizione compensata viene quindi trasformata e infine passata agli assi tramite il SMC_ControlAxisByPos
POU.
Suggerimento
Il programma è quasi identico agli altri esempi. Solo il SMC_ToolLengthCorr
POU è stata inserita dopo l'interpolatore e prima della trasformazione per elaborare la posizione impostata emessa dall'interpolatore.

La messa in produzione
Compila e avvia il programma creato. Il programma esegue il movimento del CNC non appena il CNC_PreparePath.xStart
l'ingresso è stato impostato. È possibile fare clic su Inizio pulsante per impostare questa variabile nell'applicazione o nella visualizzazione. Dopo che il programma è stato eseguito completamente, è possibile applicare un nuovo fronte di salita per riavviarlo.
Durante l'esecuzione del programma CNC, annotare le uscite dell'interpolatore (piSetPosition
, adToolLength
) e la posizione compensata (piOut
) del SMC_ToolLengthCorr
POU.
Nota: la rotazione di AxisA
durante l'ultimo movimento del programma CNC non ha alcun effetto (aggiuntivo) sulla posizione cartesiana compensata in questo esempio perché l'utensile ha solo un offset in direzione Z. Se si aggiunge un componente all'offset dell'utensile (nel file CNC, sul controller nella cartella dell'applicazione) in direzione X e Y, la rotazione di AxisA
durante l'ultimo movimento avrà un effetto aggiuntivo sulla posizione compensata.